﻿/****************************** Module Header ******************************\
 * Module Name:  tProductGoods.cs
 * Module Version:  1.0.0 (2013-01-25)
 * Copyright (c) AnyEB.Com (14507247@qq.com)
 * 
 * This source is subject to the GPL License.
 * See http://www.gnu.org/licenses/gpl.html.
 * All other rights reserved.
 * 
 * THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, 
 * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED 
 * WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
\***************************************************************************/

using System;

namespace UCL.Data.ORM.UMD
{
    /// <summary>
    /// 商品-商品管理-商品(包含商品、团购、限时抢购等) 数据实体类
    /// </summary>
    [DBTable(Common = "商品-商品管理-商品(包含商品、团购、限时抢购等)")]
    public class tProductGoods
    {
        /// <summary>
        /// Guid编号
        /// </summary>
        public Guid ID { get { return _ID ?? default(Guid); } set { _ID = value; } }

        [DBColumn(Alias = "Guid编号", IsKey = true, DefaultValue = "newid()")]
        private Guid? _ID;

        /// <summary>
        /// 商品名称
        /// </summary>
        public string Name { get { return _Name; } set { _Name = value; } }

        [DBColumn(Alias = "商品名称", Length = "32")]
        private string _Name;

        /// <summary>
        /// 商品条码
        /// </summary>
        public string Barcode { get { return _Barcode; } set { _Barcode = value; } }

        [DBColumn(Alias = "商品条码", CanBeNull = true, Length = "32")]
        private string _Barcode;

        /// <summary>
        /// 分类编号
        /// </summary>
        public Guid CatalogID { get { return _CatalogID ?? default(Guid); } set { _CatalogID = value; } }

        [DBColumn(Alias = "分类编号", CanBeNull = true)]
        private Guid? _CatalogID;

        /// <summary>
        /// 销售价格
        /// </summary>
        public decimal Price { get { return _Price ?? default(decimal); } set { _Price = value; } }

        [DBColumn(Alias = "销售价格")]
        private decimal? _Price;

        /// <summary>
        /// 市场价
        /// </summary>
        public decimal MarketPrice { get { return _MarketPrice ?? default(decimal); } set { _MarketPrice = value; } }

        [DBColumn(Alias = "市场价", CanBeNull = true)]
        private decimal? _MarketPrice;

        /// <summary>
        /// 成本价
        /// </summary>
        public decimal CostPrice { get { return _CostPrice ?? default(decimal); } set { _CostPrice = value; } }

        [DBColumn(Alias = "成本价", CanBeNull = true)]
        private decimal? _CostPrice;

        /// <summary>
        /// 库存量
        /// </summary>
        public int Stock { get { return _Stock ?? default(int); } set { _Stock = value; } }

        [DBColumn(Alias = "库存量", DefaultValue = "0")]
        private int? _Stock;

        /// <summary>
        /// 销量
        /// </summary>
        public int SaleVolume { get { return _SaleVolume ?? default(int); } set { _SaleVolume = value; } }

        [DBColumn(Alias = "销量", DefaultValue = "0")]
        private int? _SaleVolume;

        /// <summary>
        /// 折扣率
        /// </summary>
        public int DiscountRate { get { return _DiscountRate ?? default(int); } set { _DiscountRate = value; } }

        [DBColumn(Alias = "折扣率", DefaultValue = "100")]
        private int? _DiscountRate;

        /// <summary>
        /// 商品积分
        /// </summary>
        public int Integral { get { return _Integral ?? default(int); } set { _Integral = value; } }

        [DBColumn(Alias = "商品积分", DefaultValue = "0")]
        private int? _Integral;

        /// <summary>
        /// 用户帐号
        /// </summary>
        public string UserName { get { return _UserName; } set { _UserName = value; } }

        [DBColumn(Alias = "用户帐号", Length = "32")]
        private string _UserName;

        /// <summary>
        /// 浏览次数
        /// </summary>
        public int VisitCount { get { return _VisitCount ?? default(int); } set { _VisitCount = value; } }

        [DBColumn(Alias = "浏览次数", DefaultValue = "0")]
        private int? _VisitCount;

        /// <summary>
        /// 回复次数
        /// </summary>
        public int ReplyCount { get { return _ReplyCount ?? default(int); } set { _ReplyCount = value; } }

        [DBColumn(Alias = "回复次数", DefaultValue = "0")]
        private int? _ReplyCount;

        /// <summary>
        /// 缩略图
        /// </summary>
        public string Thumb { get { return _Thumb; } set { _Thumb = value; } }

        [DBColumn(Alias = "缩略图", CanBeNull = true, Length = "255")]
        private string _Thumb;

        /// <summary>
        /// 商品大图
        /// </summary>
        public string Picture { get { return _Picture; } set { _Picture = value; } }

        [DBColumn(Alias = "商品大图", CanBeNull = true, Length = "255")]
        private string _Picture;

        /// <summary>
        /// 封面图片
        /// </summary>
        public string TopImage { get { return _TopImage; } set { _TopImage = value; } }

        [DBColumn(Alias = "封面图片", CanBeNull = true, Length = "255")]
        private string _TopImage;

        /// <summary>
        /// 单位Guid编号
        /// </summary>
        public Guid UnitID { get { return _UnitID ?? default(Guid); } set { _UnitID = value; } }

        [DBColumn(Alias = "单位Guid编号", CanBeNull = true)]
        private Guid? _UnitID;

        /// <summary>
        /// 品牌Guid编号
        /// </summary>
        public Guid BrandID { get { return _BrandID ?? default(Guid); } set { _BrandID = value; } }

        [DBColumn(Alias = "品牌Guid编号", CanBeNull = true)]
        private Guid? _BrandID;

        /// <summary>
        /// 类型Guid编号
        /// </summary>
        public Guid TypeID { get { return _TypeID ?? default(Guid); } set { _TypeID = value; } }

        [DBColumn(Alias = "类型Guid编号", CanBeNull = true)]
        private Guid? _TypeID;

        /// <summary>
        /// 是否可交易
        /// </summary>
        public bool IsTradeabled { get { return _IsTradeabled ?? default(bool); } set { _IsTradeabled = value; } }

        [DBColumn(Alias = "是否可交易", DefaultValue = "1")]
        private bool? _IsTradeabled;

        /// <summary>
        /// 商品描述
        /// </summary>
        public string Description { get { return _Description; } set { _Description = value; } }

        [DBColumn(Alias = "商品描述", CanBeNull = true, Length = "Max")]
        private string _Description;

        /// <summary>
        /// 商品属性
        /// </summary>
        public string AttributeText { get { return _AttributeText; } set { _AttributeText = value; } }

        [DBColumn(Alias = "商品属性", CanBeNull = true, Length = "Max")]
        private string _AttributeText;

        /// <summary>
        /// 商品参数
        /// </summary>
        public string ParameterContent { get { return _ParameterContent; } set { _ParameterContent = value; } }

        [DBColumn(Alias = "商品参数", CanBeNull = true, Length = "Max")]
        private string _ParameterContent;

        /// <summary>
        /// 购买须知
        /// </summary>
        public string PurchaseRemarks { get { return _PurchaseRemarks; } set { _PurchaseRemarks = value; } }

        [DBColumn(Alias = "购买须知", CanBeNull = true, Length = "Max")]
        private string _PurchaseRemarks;

        /// <summary>
        /// 服务保障
        /// </summary>
        public string CustomerServices { get { return _CustomerServices; } set { _CustomerServices = value; } }

        [DBColumn(Alias = "服务保障", CanBeNull = true, Length = "Max")]
        private string _CustomerServices;

        /// <summary>
        /// 页面关键词
        /// </summary>
        public string MetaKeywords { get { return _MetaKeywords; } set { _MetaKeywords = value; } }

        [DBColumn(Alias = "页面关键词", CanBeNull = true, Length = "16")]
        private string _MetaKeywords;

        /// <summary>
        /// 页面描述
        /// </summary>
        public string MetaDescription { get { return _MetaDescription; } set { _MetaDescription = value; } }

        [DBColumn(Alias = "页面描述", CanBeNull = true, Length = "128")]
        private string _MetaDescription;

        /// <summary>
        /// 开始时间(用于团购或抢购等)
        /// </summary>
        public DateTime StartTime { get { return _StartTime ?? default(DateTime); } set { _StartTime = value; } }

        [DBColumn(Alias = "开始时间", Common = "用于团购或抢购等", CanBeNull = true)]
        private DateTime? _StartTime;

        /// <summary>
        /// 结束时间(用于团购或抢购等)
        /// </summary>
        public DateTime FinishTime { get { return _FinishTime ?? default(DateTime); } set { _FinishTime = value; } }

        [DBColumn(Alias = "结束时间", Common = "用于团购或抢购等", CanBeNull = true)]
        private DateTime? _FinishTime;

        /// <summary>
        /// 扩展标签
        /// </summary>
        public string ExTags { get { return _ExTags; } set { _ExTags = value; } }

        [DBColumn(Alias = "扩展标签", Length = "16")]
        private string _ExTags;

        /// <summary>
        /// 排列次序
        /// </summary>
        public short Ordinal { get { return _Ordinal ?? default(short); } set { _Ordinal = value; } }

        [DBColumn(Alias = "排列次序", DefaultValue = "999")]
        private short? _Ordinal;

        /// <summary>
        /// 状态
        /// </summary>
        public short State { get { return _State ?? default(short); } set { _State = value; } }

        [DBColumn(Alias = "状态", DefaultValue = "0")]
        private short? _State;

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreatedTime { get { return _CreatedTime ?? default(DateTime); } set { _CreatedTime = value; } }

        [DBColumn(Alias = "创建时间", DefaultValue = "getdate()")]
        private DateTime? _CreatedTime;

        /// <summary>
        /// 最后更新时间
        /// </summary>
        public DateTime ModifiedTime { get { return _ModifiedTime ?? default(DateTime); } set { _ModifiedTime = value; } }

        [DBColumn(Alias = "最后更新时间", CanBeNull = true)]
        private DateTime? _ModifiedTime;

        /// <summary>
        /// 是否删除
        /// </summary>
        public bool IsDeleted { get { return _IsDeleted ?? default(bool); } set { _IsDeleted = value; } }

        [DBColumn(Alias = "是否删除", DefaultValue = "0")]
        private bool? _IsDeleted;

        /// <summary>
        /// 网站标签
        /// </summary>
        public string SiteTag { get { return _SiteTag; } set { _SiteTag = value; } }

        [DBColumn(Alias = "网站标签", CanBeNull = true, Length = "16")]
        private string _SiteTag;

    }
}
